%% term_F_V_t
function vector_b = term_F_V_t(mesh, fespace, func_f1, func_f2, t)
Nb1 = fespace.Nb;
Nlb1 = fespace.Nlb;
rows = zeros(fespace.Nb,1);
val1 = rows;
val2 = rows;
flag = 1;
for n = 1:mesh.Ne
    V = mesh.node(mesh.elem(n,:),:);
    [int_points_loc, int_weights_loc] = integral_loc(V, "2d");
    phi = basis_loc(V, int_points_loc(:,1), int_points_loc(:,2), fespace.basis_type, "x");
    ff1 = func_f1(int_points_loc(:,1), int_points_loc(:,2), t);
    ff2 = func_f2(int_points_loc(:,1), int_points_loc(:,2), t);
    for i = 1:Nlb1
        f1 = ff1 .* phi(:,i);
        f2 = ff2 .* phi(:,i);
        r1 = int_weights_loc * f1;
        r2 = int_weights_loc * f2;
        rows(flag) = fespace.elem(n,i);
        val1(flag) = r1;
        val2(flag) = r2;
        flag = flag + 1;
    end
end
b1 = sparse(rows, 1, val1, Nb1, 1);
b2 = sparse(rows, 1, val2, Nb1, 1);
vector_b = [b1; b2];
end